IP Multimedia Subsystem (IMS) is an architecture defined by the 3rd Generation Partnership Project (3GPP) for the delivery of IP Multimedia services. In particular, 3GPP TS 24.229 defines a call control protocol for use in the IP Multimedia Core Network subsystem based on the Session Initiation Protocol (SIP) and the associated Session Description Protocol (SDP). A special case of establishing a call is defined in the roaming architecture for voice over IMS with “local breakout” as specified in 3GPP TS 23.228. The reason for introducing the roaming architecture for voice over IMS with local breakout is to mimic the existing charging model for a roaming user in the traditional circuit switched (CS) network. In particular, when a User Equipment (UE-A) is roaming in a Visited Public Mobile Network (VPMN-A), and VPMN call routing is applied for Voice over Long Term Evolution (VoLTE) roaming, the call signalling path from VPMN-A via UE-A's Home Public Mobile Network (HPMN-A) back to VPMN-A will not “carry” any end-to-end media (i.e. the so-called “tromboning” of media is avoided), and is expected to be charged as signaling.
FIG. 1 illustrates the roaming architecture for voice over IMS with local breakout, where the entities designated IMS-ALG represent back-to-back user agents (UAs). The entities designated P-CSCF and S-CSCF represent the Proxy and Serving IMS Call Session Control Functions respectively, whilst the entity designated TRF represents the Transit and Roaming Function. In the Figure, the solid line extending between user A and a second roaming user B represents the media path, whilst the broken line represents the call control signalling path. [Between the visited network A, home network B and the visited network B, the call control signalling path and the media path is the same and is outside the scope of this discussion.]
The call control signalling path is established using SIP as defined in IETF RFC 3261 (and extensions to RFC 3261) and 3GPP TS 24.229. The media path is established using IETF RFC 4566 (and extensions to RFC 4566), 3GPP TS 24.229 and 3GPP TS 29.079. 3GPP TS 29.079 defines optimal media routing (OMR). OMR is a flexible mechanism to bypass all intermediate networks and connect media end-to-end thus bypassing intermediate networks outside the end points IP address space (realm).
The charging model for roaming users is applied as follows:                a) When a user is roaming and attached to another operator network (the visited network A in FIG. 1), dialog creating and stand-alone SIP requests are sent via the home network A.        b) The home network A executes services (e.g. privacy services and the barring service) and, if the SIP request is an INVITE request, the home network A sends the SIP request back to the visited network A.        The visited network A routes the SIP request towards the destination (referred to as “Home Network B” in FIG. 1).        [Although in FIG. 1 the destination is within another visited network, it may be with VPLMN-A or in the CS network.]        c) During the process of sending the SIP request via the home network A and back to the visited network A, the use of OMR makes it possible to keep the media within the visited network A.        
The current session establishment procedure, including OMR, is illustrated in FIG. 2, and the general principles are as follows:                1-3. A SIP user agent (UA) sends an initial SDP offer (e.g. in an initial SIP INVITE request). The SIP request is forwarded hop-by-hop, passing one or more IMS-ALG entities. Each IMS-ALG can, according to a local policy, determine whether it can be bypassed by media or not. If it can be bypassed, it will add the identity and realm of the preceding node (UA or IMS-ALG) into the “visited-realm” and, if an alternative connection alternative exists, “secondary-realm” SDP attributes [the Figure only shows the “visited-realm” attributes assuming that there are no alternative connections] as specified in 3GPP TS 29.079. [Any nodes in networks between the visited network A and home network A can also apply the OMR procedures if allowed by their local policies. However, for simplicity, nodes in intermediate networks are not considered here.]        As the message travels along the signalling path, a chain is constructed in the SDP attributes identifying nodes (and their realms) that precede nodes that can be bypassed.        4. When the SDP offer arrives at an IMS-ALG, and that IMS-ALG detects that it is in the same realm as one of the earlier nodes identified in the SDP attributes, a shortcut is identified [in this case the bottommost “visited-realm” IP realm in the Initial SDP offer is the same as the IP realm where the UA-B is connected], with the current node handling the offer representing one end of the short cut and the earlier node representing the other end. The IMS-ALG removes from the SDP attributes the identities of any intermediate nodes, i.e. those nodes between the two ends of the shortcut, and forwards the SDP offer towards the next hop using the SDP parameters of the node (e.g. the UA initiating the SDP offer).        3. When the UA-B receives the SDP, it returns an SDP answer. This is passed hop-by-hop towards UE-A. As long as a node handling the answer is not an end of a shortcut, the SDP answer is sent unmodified. However, as soon as the SDP arrives at a first end of a shortcut, the receiving node [in the Figure, IMS-ALG-3] modifies the SDP to include a null IP address (e.g. 0.0.0.0 in IPv4). The SDP answer from UA-B is kept in a “visited-realm” OMR SDP attribute in the SDP answer. The null IP address is kept as long as the SDP answer is passing other nodes between the shortcut ends.        4. When the SDP answer is received by the node at the other end of the shortcut (IMS-ALG-1), that node recognizes that it is indeed a shortcut end since the realm on the outgoing side is the same as the “visited-realm” received in the SDP answer. The node recovers the SDP from the OMR attributes and sends the SDP answer with original IP address towards UA-A. The media is now travelling from UA-A to UA-B without any involvement of intermediate IMS-ALGs.        
The use of OMR to avoid media being tromboned via the HPMN-A has some side effects. In particular, IPX “Hubbing” providers do not know whether or not they will be required to carry media until the B-Party answers, and thus may need to reserve media resources in the meantime. Mid-call events (Hold/Resume, SRVCC, Codec change, etc) require temporary (transient) allocation of IP resources along “signalling loop”. This is illustrated in FIG. 3.
A further problem with the existing OMR solution is that, if any of the involved UAs (UA-A or UE-B) decides to send an updated SDP offer, the OMR procedure in step 1 to 4 is repeated, regardless of which UA sends the updated SDP offer. [An updated SDP offer can be sent when the initial SDP offer (or the SDP answer to the initial SDP offer) has indicated that the media resources have not been granted and cannot be used yet. The updated SDP offer indicates that the media resources are granted and can now be used.] If steps 1 to 4 are repeated, any one of the IMS-ALGs in the path can decide that they should no longer be bypassed, and that they should anchor the media. If this occurs, the media no longer traverses only the visited network. Of course, due to current charging models this situation cannot be tolerated. In any case, the repetition of steps 1 to 4 would increase the signaling load (there is signalling between an IMS-ALG and its media gateway to reserve resources that will never be used) and temporarily block network resources in the IMS-ALG's media gateways.